package com.lukekorth.pebblelocker.services;
import android.app.IntentService;
import android.content.Intent;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.wearable.Node;
import com.google.android.gms.wearable.NodeApi;
import com.google.android.gms.wearable.Wearable;
import com.lukekorth.pebblelocker.PebbleLockerApplication;
import com.lukekorth.pebblelocker.events.StatusChangedEvent;
import com.lukekorth.pebblelocker.models.AndroidWearDevices;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
public class AndroidWearDetectionService extends IntentService {
public AndroidWearDetectionService() {
super("AndroidWearDetectionService");
}
@Override
protected void onHandleIntent(Intent intent) {
GoogleApiClient client = new GoogleApiClient.Builder(this).addApi(Wearable.API).build();
client.blockingConnect();
NodeApi.GetConnectedNodesResult connectedNodes = Wearable.NodeApi.getConnectedNodes(client)
.await();
Logger logger = LoggerFactory.getLogger("Android_Wear_Detection_Service");
List<Node> devices = connectedNodes.getNodes();
for (Node device : devices) {
logger.debug("Android Wear " + device.getId() + " connected");
AndroidWearDevices.setDeviceConnected(device, true);
}
PebbleLockerApplication.getBus().post(new StatusChangedEvent());
}
}